package buildcode.language;

public class Field<T extends Type> {
    private String fieldName;
    private String typeName;
    private String remark;
    private T type;

    public Field(String fieldName, String typeName, String remark) {
        super();
        this.fieldName = fieldName;
        this.remark = remark;
        this.typeName = typeName;
    }

    public Field(String fieldName, String typeName) {
        super();
        this.fieldName = fieldName;
        this.typeName = typeName;
    }

    public Field(String fieldName, String typeName, String remark, T type) {
        super();
        this.fieldName = fieldName;
        this.typeName = typeName;
        this.remark = remark;
        this.type = type;
    }

    public String getFieldName() {
        return fieldName;
    }

    public void setFieldName(String fieldName) {
        this.fieldName = fieldName;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public T getType() {
        return type;
    }

    public void setType(T type) {
        this.type = type;
    }

}
